创建UploadHandlers
目前,只有一种类型的上传处理程序可用:UploadHandlerRaw
。这个类在构造时接受数据缓冲区。该缓冲区在内部复制到本机代码存储器中,然后UnityWebRequest
在远程服务器准备好接受正文数据时由系统使用。
上传处理程序还接受内容类型字符串。Content-Type
如果您Content-Type
在UnityWebRequest
本身上设置无标题,则此字符串用于UnityWebRequest
标题的值。如果您Content-Type
在UnityWebRequest
对象上手动设置标题,Content-Type
则上传处理程序对象将被忽略。
如果你没有设置Content-TypeUnityWebRequest
或者UploadHandler
,系统默认设置Content-Type
为application/octet-stream
。
UnityWebRequest
有一个属性disposeUploadHandlerOnDispose
,默认为true
。如果此属性为true
,则在处置UnityWebRequest
对象时,Dispose()
也将在附加的上传处理程序上调用,从而使其无用。如果您保持对上传处理程序的引用长于对UnityWebRequest
的引用,则应将disposeUploadHandlerOnDispose
设置为false
。
例
byte[] payload = new byte[1024];
// ... fill payload with data ...
UnityWebRequest wr = new UnityWebRequest("http://www.mysite.com/data-upload");
UploadHandler uploader = new UploadHandlerRaw(payload);
// Sends header: "Content-Type: custom/content-type";
uploader.contentType = "custom/content-type";
wr.uploadHandler = uploader;
🔚